package me.hys.service.doctor;

import me.hys.base.ApiResult;
import me.hys.base.PageQuery;
import me.hys.bo.doctor.DoctorBo;
import me.hys.bo.doctor.DoctorNearBo;
import me.hys.bo.doctor.ReservationBo;
import me.hys.entity.doctor.DoctorEntity;
import me.hys.entity.doctor.DoctorInfoEntity;

/**
 * Author: @author HYS . <br>
 * Date: 2015-9-20 下午6:36:08 . <br>
 * Function: 医生
 */
public interface IDoctorManager {
	/**
	 * @Title : saveOrUpdate
	 * @Description : 更新医生信息
	 */
	ApiResult saveOrUpdate(DoctorEntity entity);

	/**
	 * @Title : findById
	 * @Description : 根据userid查询
	 */
	DoctorEntity findById(String userid);

	/**
	 * @Title : findPageBo
	 * @Description : 查询全部
	 */
	PageQuery<DoctorBo> findPageBo(PageQuery<DoctorBo> page);

	/**
	 * @Title : findNearPageBo
	 * @Description : 查询附近的医生
	 */
	PageQuery<DoctorNearBo> findNearPageBo(PageQuery<DoctorNearBo> page);

	/**
	 * @Title : findDetailById
	 * @Description : 查询详情
	 */
	DoctorBo findDetailById(String id);

	/**
	 * @Title : updateReservation
	 * @Description : 更新预约时间段
	 */
	ApiResult updateReservation(ReservationBo reservation);

	/**
	 * @Title : findReservation
	 * @Description : 获取预约时间段
	 */
	ReservationBo findReservation(String id);

	/**
	 * @Title : doctorInfo
	 * @Description : 医生状态
	 */
	ApiResult doctorInfo(DoctorInfoEntity entity);
}
